﻿#pragma once
#ifndef WRERROR_H
#define WRERROR_H

//表示异常基类。
class WRException
{

};

//表示参数异常。
class WRArgumentException : public WRException
{
private:
    const char* m_name;

public:
    //初始化参数异常。
    inline explicit WRArgumentException(const char* name = 0)
        : m_name(name)
    {
        //add code here
    }

    //获取参数名称。
    inline const char* name(void) const
    {
        return m_name;
    }
};

//表示参数NULL异常。
class WRArgumentNullException : public WRArgumentException
{
public:
    //初始化异常。
    inline explicit WRArgumentNullException(const char* name = 0)
        : WRArgumentException(name)
    {
        //add code here
    }
};

//表示参数超出范围异常。
class WRArgumentOutOfRangeException : public WRArgumentException
{
public:
    //初始化异常。
    inline explicit WRArgumentOutOfRangeException(const char* name = 0)
        : WRArgumentException(name)
    {
        //add code here
    }
};

#endif // WRERROR_H

